Configurable Method for Non-Proportional Withdrawls from Simple Interest Fund

A new plan-fund-level field called Non Proportional Reduction will be added for fixed funds only. It will be a Yes/No dropdown, defaulting to No, stored in AsPlanFund.NonProportionalReduction as Y or N. Existing fixed funds associated with plans will be set to No, with no null values allowed.

When set to No, OIPA will keep the current proportional principal reduction behavior.

When set to Yes, removals/repayments will reduce principal first using non-proportional logic:

newPrincipal = max(0, oldPrincipal - repaymentAmount) newCashValue = oldCashValue - repaymentAmount

No proportional ratio will be used to reduce principal.

The setting applies only when associating a fixed fund with a new plan. After the plan fund is checked in, the value cannot be edited. Non-fixed funds should not allow this field to be edited, and it may be hidden.

Unchanged behavior includes interest accrual, rates, day-count rules, capitalization timing, deposit processing order, and anniversary capitalization. The new setting only changes how principal is reduced during removals.

Upgrade utility Updates

For backward compatibility, all existing fixed funds already associated with plan fund will be updated to:

NonProportionalReduction = 'N'